#ifndef _EASY_JS__
#define _EASY_JS__

#include <stdint.h>

struct _usercfg {
    char uart_name[64];
    char file_name[64];
    uint32_t uart_baud;
    uint32_t uart_parity;
    uint32_t remote_uart_baud; /* 控制单元串口波特率 */
    uint32_t remote_uart_parity; /* 控制单元串口奇偶校验 */
    uint32_t o2p_low_val; /* 默认氧浓度低检测阈值 */
    uint32_t o2p_lowc_val; /* 默认氧浓度低恢复阈值 */
    uint32_t o2p_pool_val; /* 默认分子筛效率低阈值 */
    uint32_t weiht_mainboard; /* 主板工作维护时间 */
    uint32_t weiht_fenzisai; /* 分子筛维护时间 */
    uint32_t weiht_filter; /* 过滤器维护时间 */
    uint32_t sova_swt_en; /* 分子筛切换时间表使能 */
    uint32_t sova_swt_array[5]; /* 分子筛切换时间表 */
    uint32_t bin_maigc;
    uint32_t bin_ver;
    uint32_t c_air_p; /* 校准环境压力 */
    uint32_t c_o1; /* 校准氧浓度1 */
    uint32_t c_o2; /* 校准氧浓度2 */
};

extern struct _usercfg usercfg;

void json_cfg_init(void);
void jscfgset_uart_name(const char* uart_name);
void jscfgset_uart_baud(uint32_t boud);
void jscfgset_uart_parity(uint32_t parity);
void jscfgset_remote_uart_baud(uint32_t val);
void jscfgset_remote_uart_parity(uint32_t val);
void jscfgset_o2p_low_val(uint32_t val);
void jscfgset_o2p_lowc_val(uint32_t val);
void jscfgset_o2p_pool_val(uint32_t val);
void jscfgset_weiht_mainboard(uint32_t val);
void jscfgset_weiht_fenzisai(uint32_t val);
void jscfgset_weiht_filter(uint32_t val);
void jscfgset_aswt_en(uint32_t val);
void jscfgset_aswt_array(uint32_t *array, uint32_t len);
void jscfgset_c_air_p(uint32_t val);
void jscfgset_c_o1(uint32_t val);
void jscfgset_c_o2(uint32_t val);


void jscfg_write_loop(void);


#endif

